package org.nepu.scr.domain.datacompleteness;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nepu.scr.domain.datacompleteness.converter.drillingdevice.*;
import org.nepu.scr.domain.datacompleteness.vo.drillingdevice.*;

import javax.persistence.Column;
import javax.persistence.Convert;

@Data
@ApiModel(value = "钻井装置基本资料参数")
public class DrillingDeviceParams {

    @ApiModelProperty(value = "设备清单(有/无)")
    @Column(name = "device_list")
    Boolean deviceList;

    @ApiModelProperty(value = "应急计划（包括溢油应急计划）(有/无)")
    @Column(name = "emergency_plan")
    Boolean emergencyPlan;

    @ApiModelProperty("应急部署表")
    @Convert(converter = EmergencyDeploymentTableConverter.class)
    @Column(name = "emergency_deployment_table")
    EmergencyDeploymentTable emergencyDeploymentTable;

    @ApiModelProperty("安全、消防、救生设施布置图")
    @Convert(converter = SafetyFacilityLayoutConverter.class)
    @Column(name = "safety_facility_layout")
    SafetyFacilityLayout safetyFacilityLayout;

    @ApiModelProperty("危险区划分")
    @Convert(converter = DangerAreaDivisionConverter.class)
    @Column(name = "danger_area_division")
    DangerAreaDivision dangerAreaDivision;

    @ApiModelProperty("逃生路线图")
    @Convert(converter = EscapeRouteMapConverter.class)
    @Column(name = "escape_route_map")
    EscapeRouteMap escapeRouteMap;

    @ApiModelProperty("救生艇岗位人员一览表")
    @Convert(converter = EmergencyPersonnelListConverter.class)
    @Column(name = "emergency_personnel_list")
    EmergencyPersonnelList emergencyPersonnelList;

    @ApiModelProperty("危险品存放区域图")
    @Convert(converter = DangerGoodsStorageAreaMapConverter.class)
    @Column(name = "danger_goods_storage_area_map")
    DangerGoodsStorageAreaMap dangerGoodsStorageAreaMap;

    @ApiModelProperty(value = "平台总体布置图(已全面张贴/未张贴)")
    @Column(name = "platform_layout_map")
    Boolean platformLayoutMap;

    @ApiModelProperty(value = "平台图纸资料(保存完好/破损/丢失)")
    @Column(name = "platform_map_document")
    String platformMapDocument;
}
